//
//  IvcsAgentDelegate.h
//  IVCS
//
//  Created by nfl on 2022/2/28.
//  Copyright © 2022 zco user. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ZcoModelRing.h"
#import <IVCS/IVCS.h>
#import <IVCS/IvcsBaseDelegate.h>
#import <IVCS/IRTCSDK.h>
#import <IVCS/ZcoModelLinkInfo.h>
NS_ASSUME_NONNULL_BEGIN

@protocol IvcsAgentDelegate <IvcsBaseDelegate  , IRTCSDKDelegate>

@optional

-(void)onRing:(ZcoModelRing *) ringData;

-(void)onCancelRing;

-(void)onQuit:(ZcoModelCcsMessage<ZcoModelPeerStatusData *> *)quitMessag;
#warning FIXME 自定义消息可能有多种形式，暂不添加限定条件
/// 收到自定义消息
/// @param message 消息
-(void)onCustomMessage:(ZcoModelCcsMessage * _Nullable)message;

/**
 * 接收表单的简略信息，用来打开网页，来填写
 * @param ccsMessage 包含表单信息的 ccs 消息
 * @param formUrl 用于展示表单的 web 地址
 */
//-(void)onFormData:(ZcoModelCcsMessage<ZcoModelCMD<ZcoModelFormBrief *> *> * _Nonnull) ccsMessage withFormUrl:(NSString *_Nonnull) formUrl;

/// 收到文本消息
/// @param message 文本消息
-(void)onTextMessage:(ZcoModelCcsMessage<NSString *> *_Nullable)message;


/// 收到资源文件
/// @param data 数据
-(void)onResourceData:(ZcoModelCcsMessage<ZcoModelLinkInfo *> *_Nullable)data;
//
///// 收到需要展示的 view
-(void)onCmdView:(ZcoModelCcsMessage<ZcoModelCMD<ZcoModelLinkInfo *> *> *_Nonnull) viewMessage;

/// 坐席邀请访客手写签名
-(void)onHandSignatureResponse:(ZcoModelCcsMessage<ZcoModelCMD *> *_Nonnull) handwritingMessasge;
// 参与会话者
-(void)onparticipantMessage:(ZcoModelCcsMessage<ZcoModelCMD *> *_Nonnull) message;
//收到部分OK返回
-(void)onRecieveMessage:(ZcoModelCcsMessage<ZcoModelCMD *> *_Nonnull)message;
-(void)onWorkflow:(ZcoModelCcsMessage<ZcoModelCMD *> *_Nonnull)message;
@end

NS_ASSUME_NONNULL_END
